Skip to main content

Amergin (GPU Server)

Amergin is a dedicated GPU server, separate from the Proxmox cluster, hosting the speech recognition and language-model workloads. It's reached at 192.168.100.2 over a dedicated vSwitch (see Networking and Ingress) rather than the 10.0.0.0/24 VM network.

Configured by several playbooks under ansible/amergin/.

Base setup (setup-amergin.yml)

Installs the NVIDIA driver, CUDA toolkit, and nvidia-container-toolkit, sets Docker's default runtime to nvidia, and enables nvidia-persistenced (GPU persistence mode, avoiding multi-second reinit latency on the first CUDA call after idle). Also runs Triton ASR streaming — a container serving a streaming Irish speech-recognition model, published on 192.168.100.2:8080.

A dcgm-exporter container exposes GPU metrics, and Grafana Alloy ships logs, host metrics, and GPU metrics to the observability VM, in the same fleet-wide pattern used everywhere else.

Amergin previously terminated its own TLS for streaming-asr.abair.ie; that was decommissioned on 2026-06-29 once ingress moved to the webserver VM, which now reverse-proxies to it over the vSwitch.

Fotheidil recognition (setup-fotheidil-recognition.yml, setup-fotheidil-api.yml)

Two cooperating services power the Fotheidil subtitling tool:

  • asr-diarisation — NeMo ASR + pyannote speaker diarisation, GPU. Published on 192.168.100.2:8000.
  • marian-cpr — capitalisation and punctuation restoration, GPU with CPU fallback. Internal only.
  • fotheidil-api — CPU-only orchestration (extracts audio from uploads via ffmpeg, forwards to the above, talks to Supabase). Published on 192.168.100.2:4040.

Batch recognition (setup-batch-recognition.yml)

A deliberately separate ASR + Marian stack, isolated from the Fotheidil pipeline so long-running Fotheidil jobs never stall short batch-recognition requests. Published on 192.168.100.2:8002.

note

The playbook's ingress variable for this port lists the webserver VM (10.0.0.14); the vSwitch port table in the repo's VSWITCH.md lists the api-gateway VM (10.0.0.17) instead. This hasn't been reconciled yet — check the live UFW rules on Amergin before relying on either.

Qomhrá LLM (setup-qomhra-llm.yml)

An OpenAI-compatible LLM endpoint, served by vllm/vllm-openai, published on 192.168.100.2:8001 and exposed publicly at https://qomhra.abair.ie/v1.

Every request requires Authorization: Bearer <key> — vLLM enforces this via VLLM_API_KEY. The model currently served is Qwen/Qwen3-1.7B as a stopgap (sized to coexist with the other GPU workloads on the shared 20 GB card); the originally-intended 4-bit AWQ quantised model isn't ready yet, so don't be surprised the served model name doesn't match an "AWQ" build mentioned elsewhere. It's a reasoning model and emits <think>...</think> blocks by default — append /no_think to the system prompt to suppress them.

Networking

See Networking and Ingress for how the vSwitch connects Amergin to the rest of the fleet.